Schritte in ST

Syntax
STEP name_1 :
  action_1();
  action_2();
  action_3(AQ);      (* with an optional action qualifier; 'AQ' is just a replacement for this. *)
  action_4(AQ,T#0s); (* with an optional action qualifier and a duration literal *)
  ...
  action_n();
END_STEP
Bedeutung

ein →Schritt im →AS-Netzwerk, wobei name_1 ein →IEC-Bezeichner sein muss
Pro AS-Netzwerk sind mehrere Schritte zulässig. Beachten Sie die Hinweise unter AS-Elemente in ST, wie Sie AS-Netzwerke effizient und korrekt erstellen/verwenden.

Dem Schritt kann eine oder mehrere Aktionen zugeordnet werden: action_1(); ... action_n();Die Steuerung dieser Aktionen erfolgt durch das optionale Aktionsbestimmungszeichen.

Informationen darüber, wann ein Schritt bzw. Initial-Schritt aktiv oder inaktiv ist, und die Auswirkungen davon finden Sie unter "Auswertung des ST-Codes inklusive der AS-Netzwerke".

Die Verwendung des Schritts ist nur in der aktuellen POE möglich.

Beispiel
STEP step1 :
  act1();
  act2(N);
  act3(L,T#10s);
END_STEP
 
STEP step2 :
  act2(R);
END_STEP

Schrittmerker und Schrittzeiten verwenden

Sie können die folgenden Eigenschaften eines Schritts in der aktuellen POE verwenden. Die Verwendung ist analog zur Verwendung einer →konstanten Variable möglich.
(Die folgenden Beschreibungen beziehen sich auf einen Schritt mit dem Namen name_1)

  • Schrittmerker: Der aktive oder inaktive Zustand des Schritts kann durch den logischen Wert des booleschen Strukturelements name_1.X dargestellt werden. Falls der Schritt aktiv ist, hat X den Wert TRUE (oder eine Entsprechung). Bei einem inaktiven Schritt hat X den Wert FALSE (oder eine Entsprechung). Verwenden Sie z.B. den Schrittmerker, damit ein AS-Netzwerk den Zustand eines anderen AS-Netzwerks prüfen kann.

  • Schrittzeit: Die Zeit, die seit der Initiierung des Schritts verstrichen ist, kann durch das Strukturelement name_1.T vom Datentyp TIME dargestellt werden: Wird der Schritt aktiviert, wird der Wert für name_1.T auf t#0s zurückgesetzt. Wird der Schritt deaktiviert, bleibt der Wert für name_1.T erhalten, der vorlag, als der Schritt deaktiviert wurde.

  • Aktivierungszeitpunkt: Der Zeitpunkt, zu dem der Schritt aktiviert wurde, kann durch das Strukturelement name_1.S vom Datentyp TIME dargestellt werden.

Beispiel
ACTION act3 :
    IF step1.T < t#5s THEN          (* Up to 5 seconds after the step 'step1' is active, the variable 'cntStep0' is counted up. *)
        cntStep0 := cntStep0 + 1;
    ELSE
        cntStep0 := cntStep0 - 1;
    END_IF;  
END_ACTION
 
(* faulty usage *)
step1.X := BOOL#1; 
step1.T := t#100ms; 
step1.S := t#100s;